Conventionally, a brushless motor is controlled by using a vector control in which the d-axis current and the q-axis current are individually controlled. In the vector control, since the d-axis current is a reactive current component, the d-axis current is normally controlled to be 0 A, and since the q-axis current contributes to the motor torque, a current equivalent to the required torque is given as a command value. To measure the phase current, it is common to use a system in which three shunt resistors are used (three-shunt system) or a system in which one shunt resistor is used (one-shunt system).
Although the former is capable of continuously measuring the phase current, it requires three shunt resistors, resulting in higher costs. On the other hand, the latter requires only one shunt resistor and thus the cost can be low, but the current can be detected only when the voltage pulse is applied. Moreover, if ringing occurs in the phase current at the time of applying the voltage pulse, an accurate current value cannot be acquired until the current stabilizes. Thus, the voltage pulse width (duty width) is restricted.
Thus, for example, Patent Document 1 discloses, in the fourth embodiment, a technique in which the voltage is corrected during a monotonically increasing period of the triangular-wave carrier and subtracted therefrom the correction amount during a following monotonically decreasing period, so that the averaged voltage becomes zero, and then, the current is measured at the timing at which the ringing stops (hereinafter, this technique is referred to as pulse shift).